/* Copyright (c) 2004-2022 peigen.info. All rights reserved. */

package info.peigen.hotpot.common.core.util;

import cn.hutool.core.date.DateUtil;
import cn.hutool.crypto.SmUtil;

import java.util.Date;

/**
 * <b>(PasswordUtils)</b>
 *
 * @author Peigen
 * @version 1.0.0
 * @since 2022/5/23
 */
public class PasswordUtils {
    /**
     * 生成密码<br/>
     *
     * @param pwd  明文密码
     * @param salt 盐值
     *
     * @return 密码串
     */
    public static String generatePwdEncrypt(String pwd, String salt) {
        return SmUtil.sm3(pwd + "-" + salt);
    }

    /**
     * 生成密码<br/>
     *
     * @param id   id
     * @param pwd  明文密码
     * @param salt 盐值
     *
     * @return 密码串
     */
    public static String generatePwdEncrypt(String id, String pwd, String salt) {
        return SmUtil.sm3(id + "-" + pwd + "-" + salt);
    }

    /**
     * 生成密码<br/>
     *
     * @param pwd  明文密码
     * @param salt 盐值
     * @param time 时间
     *
     * @return 密码串
     */
    public static String generatePwdEncrypt(String pwd, String salt, Date time) {
        return SmUtil.sm3(pwd + "-" + salt + "-" + DateUtil.date(time).toString());
    }
}
